﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using Microsoft.Xna.Framework;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GestionCases;
using GestionEco;

namespace Ecosystème
{
    public static class Jeu
    {

        public static List<EtreVivant> Ev;
        public static List<List<Terrain>> Map;
        public static int nbTours;
        public static int tourCourant;
        public static int hauteurEcran;
        public static int largeurEcran;



        public static void simulation()
        {

            tourCourant = 0;
            nbTours = 100;
            Ev = new List<EtreVivant>();
            Map = new List<List<Terrain>>();
            initJeu();
           
        }

        public static void initJeu()
        {
            int i = 0;
            int j = 0;

            while (i < 20)
            {
                Jeu.Map.Add(new List<Terrain>());
                while (j < 40)
                {
                    Jeu.Map.ElementAt(i).Add(new Terrain(10,30));
                    j++;
                }
                i++;
            }

            i = 0;
            while (i < 10)
            {
                Ev.Add(new Loup(1, 2, 3, 4, 5, 6, 7, 8, 9, Color.Black));
                i++;
            }

            i = 0;
            while (i < 10)
            {
                Ev.Add(new Chevre(1, 1, 1, 1, 1, 1, 1, 1, 1, Color.Red));
                i++;
            }

            i = 0;
            while (i < 10)
            {
                Ev.Add(new Tulipe(Color.Green));
                i++;

            }

        }

        public static void deplacementDesIndividus()
        {

            foreach (EtreVivant e in Jeu.Ev)
            {
                if (e.getEtreVivantTexture() != null)
                {
                    e.seDeplacer();
                    e.position.setPosEnVecteur(e.position.getPosEnVecteur() + e.getDeplacement());

                    if ((e.getDeplacement().X < 0 && e.position.getPosEnVecteur().X <= 0) || (e.getDeplacement().X > 0 && e.position.getPosEnVecteur().X + e.getEtreVivantTexture().Width >= Jeu.largeurEcran))
                    {
                        e.setDeplacement(new Vector2((e.getDeplacement().X) * (-1), e.getDeplacement().Y));
                    }
                    if ((e.getDeplacement().Y < 0 && e.position.getPosEnVecteur().Y <= 0) || (e.getDeplacement().Y > 0 && e.position.getPosEnVecteur().Y + e.getEtreVivantTexture().Height >= Jeu.hauteurEcran))
                    {
                        e.setDeplacement(new Vector2(e.getDeplacement().X, (e.getDeplacement().Y) * (-1)));
                    }
                }
            }
        }


      }
    }
